home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / UTIL / Msh 1.0.0.sit / Msh 1.0.0 f / Manual / MAN2N.HLP < prev    next >
Text File  |  1996-11-14  |  11KB  |  434 lines

  1. /***Intro***/ DragManager Drag
  2. Intro(2n)
  3.  
  4. 【名前】
  5.     Intro - Toolbox: 新機能(man2n.hlp)
  6.  
  7. 【概要】
  8.  
  9. 【Inside Macintosh】
  10.                                 <<キーワード>>
  11.                                 DragManager
  12.     Drag Manager
  13.  
  14. 【関連項目】
  15.  
  16. 【ヘッダー】
  17.     Drag.h
  18. /***Drag***/ DragManager
  19. Drag(2n)
  20.  
  21. 【名前】
  22.     Drag - Macintosh Toolbox ルーチン: ドラッグマネージャー
  23.  
  24. 【概要】
  25.  
  26. 【解説】
  27.  
  28. 【Gestalt】
  29.     gestaltDragMgrAttr    'drag'
  30.         0  gestaltDragMgrPresent    Drag & Drop 使えるか
  31.         1  gestaltDragMgrFloatingWind    ??
  32.         2  gestaltPPCDragLibPresent    ??
  33.  
  34.     gestaltTEAttr        'teat'
  35.         0  gestaltTEHasGetHiliteRgn    TEGetHiliteRgn() 使えるか
  36.  
  37.  
  38. 【ルーチン】
  39.     Install and Removing Drag Handlers
  40.         InstallTrackingHandler    RemoveTrackingHandler
  41.         InstallReceiveHandler    RemoveReceiveHandler
  42.  
  43.     Creating and Dispose of Drag References
  44.         NewDrag        DisposeDrag
  45.  
  46.     Adding Drag Item Flavors
  47.         AddDragItemFlavor    SetDragItemFlavorData
  48.  
  49.     Providing Drag Callbakc Procedures
  50.         SetDragSendProc        SetDragInputProc
  51.         SetDragDrawingProc
  52.  
  53.     Performing a Drag
  54.         TrackDrag
  55.  
  56.     Getting Drag Item Informations
  57.         CountDragItems        GetDragItemReferenceNumber
  58.         CountDragItemFlavors    GetFlavorType
  59.         GetFlavorFlags        GetFlavorDataSize
  60.         GetFlavorData        GetDragItemBounds
  61.         SetDragItemBounds
  62.  
  63.     Getting and Drag Status Information
  64.         GetDragAttributes    GetDragMouse
  65.         SetDragMouse        GetDragOrigin
  66.         GetDragModifiers    GetDropLocation
  67.         SetDropLocation
  68.  
  69.     Window Highlighting Utilities
  70.         ShowDragHilite        HideDragHilite
  71.         DragPreScroll        DragPostScroll
  72.         UpdateDragHilite
  73.  
  74.     Drag Manager Utilities
  75.         WaitMouseMoved        ZoomRects
  76.         ZoomRegion
  77.  
  78.     TextEdit Utilities
  79.         TEGetHiliteRgn
  80.  
  81. 【関連項目】
  82.  
  83. 【Inside Macintosh】
  84. #
  85. #
  86. #
  87. /***DragReference***/ ItemReference FlavorFlags DragAttributes FlavorType flavorTypeHFS flavorTypePromiseHFS flavorTypeDirectory HFSFlavor PromiseHFSFlavor DragManager
  88. DragReference(2n)
  89.  
  90. 【名前】
  91.     DragReference    - data type (unsigned long)
  92.     ItemReference    - data type (unsigned long)
  93.     FlavorFlags      - data type (unsigned long)
  94.     DragAttributes   - data type (unsigned long)
  95.     FlavorType       - data type (ResType = long)
  96.     HFSFlavor        - data type
  97.     PromiseHFSFlavor - data type
  98.  
  99. 【形式】
  100.     ■基本データタイプ
  101.  
  102.     DragReference        unsigned long
  103.  
  104.     ItemReference        unsigned long
  105.  
  106.     FlavorFlags        unsigned long
  107.         0x00000001L  flavorSenderOnly
  108.         0x00000002L  flavorSenderTranslated
  109.         0x00000004L  flavorNotSaved
  110.         0x00000100L  flavorSystemTranslated
  111.  
  112.     DragAttributes        unsigned long
  113.         0x00000001L  dragHasLeftSenderWindow
  114.         0x00000002L  dragInsideSenderApplication
  115.         0x00000004L  dragInsideSenderWindow
  116.  
  117.     FlavorType        ResType
  118.  
  119.  
  120.     ■flavor データタイプ
  121.  
  122.     'hfs '  flavorTypeHFS
  123.     'phfs'  flavorTypePromiseHFS
  124.     'diry'  flavorTypeDirectory
  125.  
  126.     HFSFlavor
  127.         OSType        fileType;
  128.         OSType        fileCreator;
  129.         unsigned short    fdFlags;
  130.         FSSpec        fileSpec;
  131.  
  132.     PromiseHFSFlavor
  133.         OSType        fileType;
  134.         OSType        fileCreator;
  135.         unsigned short    fdFlags;
  136.         FlavorType    promisedFlavor;
  137. /***InstallTrackingHandler***/ InstallReceiveHandler RemoveTrackingHandler RemoveReceiveHandler DragTrackingMessage DragManager
  138. InstallTrackingHandler(2n)
  139.  
  140. 【名前】
  141.     InstallTrackingHandler - Trackingハンドラの登録
  142.     InstallReceiveHandler  - Receive ハンドラの登録
  143.     RemoveTrackingHandler  - Trackingハンドラの削除
  144.     RemoveReceiveHandler   - Receive ハンドラの削除
  145.     DragTrackingMessage    - data type (short)
  146.  
  147. 【書式】
  148.     #include <Drag.h>
  149.  
  150.     OSErr InstallTrackingHandler(DragTrackingHandler trackingHandler,
  151.             WindowPtr theWindow, void *handlerRefCon);
  152.  
  153.     OSErr InstallReceiveHandler(DragReceiveHandler receiveHandler,
  154.             WindowPtr theWindow, void *handlerRefCon);
  155.  
  156.     OSErr RemoveTrackingHandler(DragTrackingHandler trackingHandler,
  157.             WindowPtr theWindow);
  158.  
  159.     OSErr RemoveReceiveHandler(DragReceiveHandler receiveHandler,
  160.             WindowPtr theWindow);
  161.  
  162. 【Trackingハンドラ】
  163.     ウインドウの マウスが入ってきた時の処理(Tracking)
  164.  
  165.     pascal OSErr (*DragTrackingHandlerProcPtr)(
  166.             DragTrackingMessage message,
  167.             WindowPtr theWindow,
  168.             void *handlerRefCon,
  169.             DragReference theDragRef);
  170.  
  171.     戻り値    特に意味なし(noErr を返す)
  172.  
  173.     DragTrackingMessage    short        <<トラッキングの種別>>
  174.         1  dragTrackingEnterHandler
  175.         2  dragTrackingEnterWindow
  176.         3  dragTrackingInWindow
  177.         4  dragTrackingLeaveWindow
  178.         5  dragTrackingLeaveHandler
  179.  
  180.  
  181. 【Receiveハンドラ】
  182.     データの受信(Receive)処理
  183.  
  184.     pascal OSErr (*DragReceiveHandlerProcPtr)(
  185.             WindowPtr theWindow,
  186.             void *handlerRefCon,
  187.             DragReference theDragRef);
  188.  
  189.     戻り値    noErr    受信 OK
  190.         その他    受信キャンセル(TrackDrag() の戻り値 userCanceledErr)
  191.  
  192. 【サンプル】
  193.     1. 登録
  194.         WindowPtr    wind;
  195.  
  196.         wind = GetNewWindow(...);
  197.         InstallTrackingHandler(
  198.         InstallReciverHandler(
  199.  
  200.     2. 破棄
  201.         RemoveTrackingHandler(
  202.         RemoveReciverHandler(
  203.         DisposeWindow(
  204. ###
  205. /***NewDrag***/ DisposeDrag DragManager
  206. NewDrag(2n)
  207.  
  208. 【名前】
  209.     NewDrag     - 
  210.     DisposeDrag -
  211.  
  212. 【書式】
  213.     #include <Drag.h>
  214.  
  215.     OSErr NewDrag(DragReference *theDragRef);
  216.  
  217.     OSErr DisposeDrag(DragReference theDragRef);
  218. /***AddDragItemFlavor***/ SetDragItemFlavorData DragManager
  219. AddDragItemFlavor(2n)
  220.  
  221. 【名前】
  222.     AddDragItemFlavor     -
  223.     SetDragItemFlavorData -
  224.  
  225. 【書式】
  226.     #include <Drag.h>
  227.  
  228.     OSErr AddDragItemFlavor(DragReference theDragRef,
  229.             ItemReference theItemRef,
  230.             FlavorType theType, void *dataPtr,
  231.             Size dataSize, FlavorFlags theFlags);
  232.  
  233.     OSErr SetDragItemFlavorData(DragReference theDragRef,
  234.             ItemReference theItemRef, FlavorType theType,
  235.             const void *dataPtr, Size dataSize,
  236.             unsigned long dataOffset);
  237. /***SetDragSendProc***/ SetDragInputProc SetDragDrawingProc DragRegionMessage DragManager
  238. SetDragSendProc(2n)
  239.  
  240. 【名前】
  241.     SetDragSendProc    -
  242.     SetDragInputProc   -
  243.     SetDragDrawingProc -
  244.     DragRegionMessage  - data type (short)
  245.  
  246. 【書式】
  247.     #include <Drag.h>
  248.  
  249.     OSErr SetDragSendProc(DragReference theDragRef,
  250.             DragSendDataProc sendProc, void *dragSendRefCon);
  251.  
  252.     OSErr SetDragInputProc(DragReference theDragRef,
  253.             DragInputProc inputProc, void *dragInputRefCon);
  254.  
  255.     OSErr SetDragDrawingProc(DragReference theDragRef,
  256.             DragDrawingProc drawingProc, void *dragDrawingRefCon);
  257.  
  258. 【Receiveハンドラ】
  259.     pascal OSErr (*DragSendDataProcPtr)(
  260.             FlavorType theType,
  261.             void *dragSendRefCon,
  262.             ItemReference theItemRef,
  263.             DragReference theDragRef);
  264.  
  265. 【Receiveハンドラ】
  266.     pascal OSErr (*DragInputProcPtr)(
  267.             Point *mouse,
  268.             short *modifiers,
  269.             void *dragInputRefCon,
  270.             DragReference theDragRef);
  271.  
  272. 【Receiveハンドラ】
  273.     pascal OSErr (*DragDrawingProcPtr)(
  274.             DragRegionMessage message,
  275.             RgnHandle showRegion,
  276.             Point showOrigin,
  277.             RgnHandle hideRegion,
  278.             Point hideOrigin,
  279.             void *dragDrawingRefCon,
  280.             DragReference theDragRef);
  281.  
  282.     DragRegionMessage    short        <<ドラッグRegionメッセージ>>
  283.         1  dragRegionBegin
  284.         2  dragRegionDraw
  285.         3  dragRegionHide
  286.         4  dragRegionIdle
  287.         5  dragRegionEnd
  288. /***TrackDrag***/ DragManager
  289. TrackDrag(2n)
  290.  
  291. 【名前】
  292.     TrackDrag -
  293.  
  294. 【書式】
  295.     #include <Drag.h>
  296.  
  297.     OSErr TrackDrag(DragReference theDragRef,
  298.             const EventRecord *theEvent, RgnHandle theRegion);
  299. /***CountDragItems***/ GetDragItemReferenceNumber CountDragItemFlavors GetFlavorType GetFlavorFlags GetFlavorDataSize GetFlavorData GetDragItemBounds SetDragItemBounds DragManager
  300. CountDragItems(2n)
  301.  
  302. 【名前】
  303.     CountDragItems             - Dragデータの総アイテム数の取得
  304.     GetDragItemReferenceNumber - アイテム番号から reference番号を取得
  305.     CountDragItemFlavors       - 指定flavorタイプのデータ数を取得
  306.     GetFlavorType              - flavorタイプの取得
  307.     GetFlavorFlags             - flavorフラグの取得
  308.     GetFlavorDataSize          - flavorサイズの取得
  309.     GetFlavorData              - flavorデータの取得
  310.     GetDragItemBounds          - アイテム bounds の取得
  311.     SetDragItemBounds          - アイテム bounds の設定
  312.  
  313. 【書式】
  314.     #include <Drag.h>
  315.  
  316.     OSErr CountDragItems(DragReference theDragRef,
  317.             unsigned short *numItems);
  318.  
  319.     OSErr GetDragItemReferenceNumber(DragReference theDragRef,
  320.             unsigned short index, ItemReference *theItemRef);
  321.  
  322.     OSErr CountDragItemFlavors(DragReference theDragRef,
  323.             ItemReference theItemRef, unsigned short *numFlavors);
  324.  
  325.     OSErr GetFlavorType(DragReference theDragRef,
  326.             ItemReference theItemRef, unsigned short index,
  327.             FlavorType *theType);
  328.  
  329.     OSErr GetFlavorFlags(DragReference theDragRef,
  330.             ItemReference theItemRef, FlavorType theType,
  331.             FlavorFlags *theFlags);
  332.  
  333.     OSErr GetFlavorDataSize(DragReference theDragRef,
  334.             ItemReference theItemRef, FlavorType theType,
  335.             Size *dataSize);
  336.  
  337.     OSErr GetFlavorData(DragReference theDragRef,
  338.             ItemReference theItemRef, FlavorType theType,
  339.             void *dataPtr, Size *dataSize,
  340.             unsigned long dataOffset);
  341.  
  342.     OSErr GetDragItemBounds(DragReference theDragRef,
  343.             ItemReference theItemRef,
  344.             Rect *itemBounds);
  345.  
  346.     OSErr SetDragItemBounds(DragReference theDragRef,
  347.             ItemReference theItemRef,
  348.             const Rect *itemBounds);
  349. /***GetDragAttributes***/ GetDragMouse SetDragMouse GetDragOrigin GetDragModifiers GetDropLocation SetDropLocation DragManager
  350. GetDragAttributes(2n)
  351.  
  352. 【名前】
  353.     GetDragAttributes -
  354.     GetDragMouse      -
  355.     SetDragMouse      -
  356.     GetDragOrigin     -
  357.     GetDragModifiers  - モディファイアキー状態の取得
  358.     GetDropLocation   -
  359.     SetDropLocation   -
  360.  
  361. 【書式】
  362.     #include <Drag.h>
  363.  
  364.     OSErr GetDragAttributes(DragReference theDragRef,
  365.             DragAttributes *flags);
  366.  
  367.     OSErr GetDragMouse(DragReference theDragRef,
  368.             Point *mouse, Point *pinnedMouse);
  369.  
  370.     OSErr SetDragMouse(DragReference theDragRef, Point pinnedMouse);
  371.  
  372.     OSErr GetDragOrigin(DragReference theDragRef, Point *initialMouse);
  373.  
  374.     OSErr GetDragModifiers(DragReference theDragRef,
  375.             short *modifiers,            現在
  376.             short *mouseDownModifiers,        マウスダウン時
  377.             short *mouseUpModifiers);        マウスアップ時
  378.  
  379.     OSErr GetDropLocation(DragReference theDragRef, AEDesc *dropLocation);
  380.  
  381.     OSErr SetDropLocation(DragReference theDragRef,
  382.             const AEDesc *dropLocation);
  383. /***ShowDragHilite***/ HideDragHilite DragPreScroll DragPostScroll UpdateDragHilite DragManager
  384. ShowDragHilite(2n)
  385.  
  386. 【名前】
  387.     ShowDragHilite   - Show ハイライト
  388.     HideDragHilite   - Hide ハイライト
  389.     DragPreScroll    -
  390.     DragPostScroll   -
  391.     UpdateDragHilite -
  392.  
  393. 【書式】
  394.     #include <Drag.h>
  395.  
  396.     OSErr ShowDragHilite(DragReference theDragRef,
  397.             RgnHandle hiliteFrame, Boolean inside);
  398.  
  399.     OSErr HideDragHilite(DragReference theDragRef);
  400.  
  401.     OSErr DragPreScroll(DragReference theDragRef, short dH, short dV);
  402.  
  403.     OSErr DragPostScroll(DragReference theDragRef);
  404.  
  405.     OSErr UpdateDragHilite(DragReference theDragRef, RgnHandle updateRgn);
  406. /***WaitMouseMoved***/ ZoomRects ZoomRegion TEGetHiliteRgn ZoomAcceleration DragManager
  407. WaitMouseMoved(2n)
  408.  
  409. 【名前】
  410.     WaitMouseMoved   -
  411.     ZoomRects        -
  412.     ZoomRegion       -
  413.     TEGetHiliteRgn   -
  414.     ZoomAcceleration - data type(short)
  415.  
  416. 【書式】
  417.     #include <Drag.h>
  418.  
  419.     Boolean WaitMouseMoved(Point initialMouse);
  420.  
  421.     OSErr ZoomRects(const Rect *fromRect, const Rect *toRect,
  422.             short zoomSteps, ZoomAcceleration acceleration);
  423.  
  424.     OSErr ZoomRegion(RgnHandle region, Point zoomDistance,
  425.             short zoomSteps, ZoomAcceleration acceleration);
  426.  
  427.     OSErr TEGetHiliteRgn(RgnHandle region, TEHandle hTE);
  428.  
  429. 【定義】
  430.     ZoomAcceleration    short
  431.         0  zoomNoAcceleration
  432.         1  zoomAccelerate
  433.         2  zoomDecelerate
  434.